The present invention relates to telecommunications and data communications, and more particularly to a method and apparatus for providing devices, e.g., short-range wireless devices, with selective service access (e.g., Internet service) by selecting from among one or more network devices that offer a desired service.
The radiocommunication industry has made phenomenal strides in commercial operations in the United States as well as the rest of the world. For example, the growth of cellular communication systems in major metropolitan areas has far exceeded expectations and is rapidly outstripping system capacity. If this trend continues, the effects of this industry's growth will soon reach even the smallest markets. At the same time, the commercial success of hand-held information processing devices, e.g., personal digital assistants (PDAs), and the Internet has resulted in a confluence of information and communication technologies that, in turn, is generating new products and a consumer demand for new services.
It is widely anticipated that users of hand-held information processing devices will soon generally expect to receive a wide range of services via a single hand-held device, e.g., telephone services, Internet access and access to any other available information network. An example which is sometimes used in describing the future of these types of devices and services is that of a person moving about in a shopping mall being able to receive and/or query local information networks regarding sales, products, etc. using his or her hand-held device. Wireless technologies offer a mechanism for providing such services. One such technology, commonly referred to as Bluetooth, provides short-range, point-to-point radio access for communication between devices. When a Bluetooth device (referred to herein as the initiator), e.g., a hand-held device, wants to identify other Bluetooth devices that are in the vicinity, e.g., those associated with a number of different shops in the mall, it sends an inquiry message. All Bluetooth devices within range of the initiator that are set in discoverable mode will answer the inquiry. The initiator can then decide whether it wants to connect to any of the discovered devices. If the initiator is searching for other devices because it wants to make use of a specific service (presumably because the user requested that service or because an application running on the user's hand-held device requires that service), the inquiry message can contain a class of device identifier, so that only devices which belong to that class will answer the inquiry. This shall at least increase the possibility that the device that the initiator chooses to connect to can offer the requested service.
Once two Bluetooth devices are connected, the Bluetooth Service Discovery Protocol (SDP) can be used to obtain more detailed information about available services. This protocol is described in more detail below. Briefly, however, the Bluetooth device that wants to use a particular service sends an SDP request, specifying the service that it is seeking. If a peer Bluetooth device can offer the requested service, it sends an SDP reply with an identifier for that service. The SDP requests can also include a list of attributes, in which case the SDP reply contains the values of those attributes for this specific service.
When a Bluetooth device receives several answers to an inquiry, a selection is required to determine the answering device to which a connection should be made. Since the Bluetooth device may be mobile, this selection process is further complicated by that possibility that, even after the initial selection of a device offering the desired service, an even more suitable candidate device may come into range. One way to select among the answering devices is to present all of the answering devices to the user, e.g., on a display of the user's Bluetooth device, and let the user decide which one to connect to. This manual selection process may prove to be time-consuming and annoying, particularly if there are a large number of answering devices that provide the desired service within range of the user's Bluetooth device.
Accordingly, it would be desirable to provide methods and systems for automating the selection of services.